import { createPackageFile, initRelatedFile, prompt } from '../utils';
import addDependencies from './addDependencies';
import { promptConfig } from './config';
import initHusky from './initHusky';
import initFile from './lintFile';
import updatePackageJSON from './updatePackageJSON';

export default async () => {
  const result = await prompt(promptConfig);
  const packageManager = result?.packageManager;
  const framework =
    { default: 'node', react: 'react', vue: 'vue' }?.[result?.framework] ||
    result?.framework;
  // 无package.json 创建
  await createPackageFile();
  // 初始化 .git  .gitignore
  await initRelatedFile();
  // 更新 package.json 信息
  updatePackageJSON(framework);
  // 创建 eslint prettier styleline 文件
  await initFile(framework);
  initHusky();
  //安装依赖包
  addDependencies(packageManager, framework);
};
